iT邦幫忙

2026 iThome 鐵人賽

DAY 1
0
IT Operation

低延遲網路的維運工程:從 HFT 現場長出來的 30 天系列 第 1

Day 1:低延遲網路調完之後,你怎麼知道它今天還是快的

  • 分享至 

  • xImage
  •  

這 30 天不是設備設定教學,我想弄清楚的是另一個問題:低延遲網路的設備調整完、驗收過、上線了,然後呢?能保證它下週還是一樣快嗎?如果真的慢了,我沒把握自己說得出慢了多少。

進公司大概半年,有天隔壁桌問我一句:「網路是不是有問題?」我登進交換器掃 counter,CRC、discard 都是零,ping 也通,就回他跟平常一樣看起來很正常。
他走了我才想到,我根本不知道正常是多少。手上那些數字只能告訴我東西沒壞,沒辦法告訴我它有多快。他要是再追問一句「跟上週比呢」,我拿不出任何數字。
網路工程師很習慣用 ping 和 iperf3 判斷網路有沒有通以及速度快不快,一般環境這兩個工具夠用。但 ping 量的是來回時間,用的還是軟體時戳,誤差本身就比你想量的東西大。拿它去判斷一台 cut-through 交換器有沒有變慢,大概等於拿捲尺量頭髮直徑。

所以這 30 天從最底層開始,先把量測做對,再談調校跟維運。

我打算怎麼量

用一張有硬體時戳的 FPGA 網卡,把交換器的兩個 port 接到同一張卡的兩個 port 上:

                  ┌─────────────────┐
                  │   Arista 7150   │
                  │   Et1       Et2 │
                  └───┬─────────┬───┘
                      │         │
                    線1         線2
                      │         │
                  ┌───┴─────────┴───┐
                  │ port0     port1 │
                  │   ExaNIC X25    │
                  │  (同一顆時鐘) │
                  └─────────────────┘

同一張卡共用同一顆時鐘,兩端時戳可以直接相減,不會有跨設備 clock offset 的問題。單向延遲量得出來,靠的就是這件事。

但這樣量到的數字裡還包含網卡自己的收發路徑跟線材。所以要先做一次校正:把 port0 跟 port1 直接對接,量出儀器本身的延遲,之後每次都扣掉。線材要用同型號的,這樣才知道它每公尺吃掉多少時間。光纖大概一公尺 5ns,那個數字後面要扣掉。

這 30 天所有調校都跟這個基準比,基準錯了後面全錯。

30 天怎麼走

階段 天數 要弄的事
把量測做對 Day 2-8 ping 為什麼不能用、硬體時戳、線速擷取,量出 port-to-port 延遲,包成可重跑的巡檢腳本
講原理 Day 9-14 延遲的四塊、多播、cut-through 對 store-and-forward、封包從線上到應用程式的七關
上設備和主機 Day 15-26 計數器判讀、LANZ 抓 microburst、告警門檻怎麼推、ethtool 調校、IRQ 綁核、CPU 隔離對抖動的影響
收尾 Day 27-30 調校怎麼驗證(看 p99 不看平均)、巡檢自動化、防火牆 offload 的代價

為什麼重心放在維運

驗收當天量到的數字很漂亮,三個月後有人說「最近好像有點卡」,你要拿什麼跟當初比?那個數字是誰量的、怎麼量的、還能不能重現?重現不出來就等於不存在。
所以每篇最後都有一段「這件事在維運上要幹嘛」:數字要變成哪個監控項、門檻怎麼設、改完設定怎麼證明沒弄壞東西。

明天先從 ping 開始,看看它到底差多少。


下一篇
Day 2:為什麼 ping 量不出低延遲
系列文
低延遲網路的維運工程:從 HFT 現場長出來的 30 天10
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言